1. Field of the Invention
The present invention relates to a method for enhancing data transmission efficiency, and more particularly, to a method of flow control between a host and a subsystem for enhancing data transmission efficiency.
2. Description of the Prior Art
The continuous evolution of wireless communication networks has significantly changed the speed and convenience of information exchange, and consequently more and more electronic devices (such as personal computers, handheld devices, etc.) have been developed into wireless transceiving devices with the advancement of related technologies. The wireless transceiving devices not only transmit or receive wireless signals via the hardware circuits (such as antennas, mixers, demodulators, etc.), but also control the operation of the hardware via software (i.e. a driver), where the connection between software and hardware lies on a specific transmission interface.
Please refer to FIG. 1, which is a schematic diagram of a conventional data transmission system 10. The data transmission system 10 is utilized in a wireless transceiving device (i.e. a wireless network adapter) and composed of a host 100, a subsystem 102 and a transmission interface 104. The host 100 corresponds to the software part of the wireless transceiving device for controlling the operation of the subsystem 102 via a driver 106, while the subsystem 102 corresponds to the hardware part for transmitting or receiving data packets. The transmission interface 104 is formed between the host 100 and the subsystem 102, for transmitting signals between the host 100 and the subsystem 102. Taking a data packet transmission as an example, the driver 106 first transmits the queued packet to an asynchronous first in first out (ASYNC FIFO) 108 of the subsystem 102 via the transmission interface 104 and puts it in a transmission queue 110; the subsystem 102 stores the queued packet of the transmission queue 110 into a transmission queue 116 of a memory 104 via a direct memory access 112 channel via the method of first in first out; and finally, a medium access control (MAC) unit 118 transmits the queued packet to a physical transceiving circuit 120, for completing the operation of data transmission. The data packet received by the physical transceiving circuit 120 is stored into a reception queue 122 of the memory 114 via the MAC unit 118, and then is transmitted to a reception queue 126 of the ASYNC FIFO 108 via a direct memory access 124, and finally the data packet is transmitted to the driver 106 for performing related processes.
In the data transmission system 10, the transmission interface 104 is utilized for transmitting data packets between the host 100 and the subsystem 102. When the wireless transceiving device corresponding to the data transmission system 10 is utilized in a portable communication device (such as a mobile phone), the transmission interface 104 is usually implemented by low speed interfaces for decreasing power consumption, such as a secure digital input/output (SDIO) interface, serial peripheral interface (SPI), generic serial peripheral interface (GSPI), etc. However, taking the 802.11n standard as an example, transmission rates have been enhanced up to 50 Mbps. Under such circumstances, when the transmission interface 104 processes data transmission via low speed interfaces SDIO/SPI/GSPI, the volume of the memory 114 is easily exhausted, which may cause a race condition that decreases transmission efficiency due to the transmission and reception queued packets in the memory 114.
To improve the above-mentioned problem, the most instinctive solution is to increase the volume of the memory 114 for preventing the memory 114 from becoming full easily. However, this solution increases production costs and may result in longer packet latency, thereby affecting transmission rate and quality.